In the past, HVAC systems were designed and implemented as complex and typically proprietary control systems. With the evolution of Internet based technologies, HVAC systems were increasingly adapted to a more open approach. Particularly, field devices were provided with processing power and a Java Virtual Machine platform which made it easier to use control objects on various field devices from different manufacturers. Furthermore, by implementing web servers on field devices, it became possible to access data on the field devices through conventional web browser via an IP (Internet Protocol) network.
U.S. Pat. No. 7,020,532 discloses a control device for a control system, comprising a field device such as a sensor or an actuator, and a processor for executing a control algorithm, e.g. for environmental control in residential, commercial or industrial settings. The control algorithm maintains the control system at a desired level and/or drives it to that level as a function of one or more measured values or defined set points. The control device further includes an interface to an IP network (Internet Protocol) and a web server which facilitates configuration, monitoring and/or maintenance of the control system.
U.S. Pat. No. 6,510,352 discloses a control device, e.g. a field device with a sensor/actuator interface, comprising a Java Virtual Machine for executing Java objects so that the control device provides a control function, e.g. for process control. These process control objects communicate data values, such as measurements or set points by reference, i.e. only one object stores the data value itself, while the other objects maintain merely a reference, e.g. a pointer or address, to the data value. By communicating data values by reference, data is propagated between control objects to meet real-time requirements of process control applications.
U.S. Pat. No. 6,832,120 discloses an object-oriented control system comprising network processor and field controller types of stations implementing Java Virtual Machines which can be programmed using Java objects for specific control functions. As an explicit key to achieving the objectives of the distributed object oriented control system, U.S. Pat. No. 6,832,120 teaches a real-time information synchronization manager at each station which governs the data flow between objects in the system.
U.S. Pat. No. 6,788,980 discloses a control device for a control system which may be implemented as an actuator and comprises a processor configured to run a real time operating system and a Java Virtual Machine. The control device further comprises a web server that facilitates configuration and monitoring of the control system, and an application development environment which produces Java classes for execution in control devices. Operator stations and similar non-process data producers are kept in sync using a Simple Network Time Protocol (SNTP); whereas, the controllers requiring higher accuracy are placed on tightly controlled networks or equipped with an interrupt used to coordinate time updates.
For meeting real-time requirements of typical control applications, the control systems of the prior art are configured for synchronized data communication. In essence, synchronized data communication ensures that data values generated and/or output by a data source (data provider) is transmitted and/or supplied to a data sink (data consumer) within a defined time window in order to meet the specific real-time requirements of the respective control application. Thus, implementation of synchronized data flow imposes a temporal and/or sequential dependence on the components participating in a distributed control application. More importantly, for a synchronized data flow, it is necessary to implement synchronization mechanisms which require significant processing power and/or communication bandwidth.
U.S. Pat. No. 6,167,316 discloses a distributed object-oriented building automation system with asynchronous communication between objects running on different devices. Application objects which need to be informed about changes of the value of another object's control attributes use a connection object to establish an asynchronous link between application objects. The connection object manages the information transfer between the two application objects. The connection object registers with the source object to receive from the source object a message containing the value of the control attribute when the change in its value exceeds a defined value (change of value processing). The connection object in turn passes the received value of the control attribute to the destination object. Thus, U.S. Pat. No. 6,167,316 implements a messaging mechanism which facilitates timely communication of significant changes of data values between objects located on different devices.